import json
import argparse
def generate_corpus(json_path, output_path):
    """
    从JSON文件中提取特征序列并生成语料库文件
    
    Args:
        json_path: 输入的JSON文件路径
        output_path: 输出的语料库文件路径
    """
    print("开始生成语料库...")
    
    with open(json_path, 'r') as f_in, open(output_path, 'w') as f_out:
        count = 0
        for line in f_in:
            item = json.loads(line)
            # 将特征列表转换为空格分隔的字符串
            sequence = ' '.join(map(str, item['features']))
            f_out.write(sequence + '\n')
            count += 1
            
            if count % 1000 == 0:
                print(f"已处理 {count} 条记录")
    
    print(f"语料库生成完成,共处理 {count} 条记录")
    print(f"语料库已保存至: {output_path}")

if __name__ == '__main__':
    parser = argparse.ArgumentParser(description='生成语料库')
    parser.add_argument('--dataset', type=str, default='./seast_text.json', help='输入的JSON文件路径')
    parser.add_argument('--output', type=str, default='./corpus.txt', help='输出的语料库文件路径')
    args = parser.parse_args()

    generate_corpus(args.dataset, args.output)
